home *** CD-ROM | disk | FTP | other *** search
/ Hottest 6 / Hottest 6 (1996)(PDSoft)[!].iso / software / fredfish / 1074.lha / Programs / C_dt / source / Makefile < prev    next >
Makefile  |  1995-03-30  |  2KB  |  107 lines

  1. #
  2. # $PROJECT: c.datatype
  3. #
  4. # $VER: Makefile 39.2 (19.03.95)
  5. #
  6. # by
  7. #
  8. # Stefan Ruppert , Windthorststraße 5 , 65439 Flörsheim , GERMANY
  9. #
  10. # (C) Copyright 1995
  11. # All Rights Reserved !
  12. #
  13. # $HISTORY:
  14. #
  15. # 19.03.95 : 039.002 : changed to gnu make
  16. # 06.03.95 : 039.001 : initial
  17. #
  18.  
  19. NAME     = c.datatype
  20. SHNAME   = cdt
  21. REVFILE  = c_rev.i
  22.  
  23. OBJDIR   = /objs/cdt
  24. ADOBJDIR = $(subst /objs/,objs:,$(OBJDIR))
  25.  
  26. LIBS     = $(OBJDIR)/$(NAME)
  27. ADLIBS   = $(ADOBJDIR)/$(NAME)
  28. LIBSDEST = Sys:Classes/DataTypes
  29.  
  30. HEADER   = classbase.h
  31. PROTO    = protos.h
  32.  
  33. CSRCS    = classbase.c dispatch.c cdt.tab.c
  34. ASRCS    = classinit.asm endcode.asm
  35. SRCS     = $(ASRCS) $(CSRCS)
  36. OBJ      = classinit.ao $(CSRCS:%.c=%.o) endcode.ao
  37.  
  38. OBJS     = $(patsubst %,$(OBJDIR)/%,$(OBJ))
  39. ADOBJS   = $(patsubst %,$(ADOBJDIR)/%,$(OBJ))
  40.  
  41. ##############################################################################
  42. #
  43. # commands
  44. #
  45.  
  46. YACC     = bison
  47. SED      = sed
  48. MV       = mv
  49. RM       = rm
  50. CP       = c:copy
  51.  
  52.  
  53. ##############################################################################
  54. #
  55. # SAS definition
  56. #
  57.  
  58. DEBUG      = DEBUG=LINE DEFINE=DEBUG DEFINE="YYDEBUG=1"
  59. SCOPTS     = VERBOSE NOSTKCHK
  60. SLOPT      = NOICONS VERBOSE SMALLDATA SMALLCODE
  61. SCOPTIMIZE = CPU=68040
  62. LIB        = lib:amiga.lib lib:sc.lib lib:debug.lib
  63.  
  64. all: $(OBJDIR) $(LIBS)
  65.  
  66. $(LIBS): $(OBJS)
  67.     slink from $(ADOBJS) to $(ADLIBS) $(SLOPT) LIB $(LIB)
  68.     $(CP) $(ADLIBS) $(LIBSDEST)
  69.  
  70. include gnu:share/gmk/sasc.mk
  71.  
  72. cdt.tab.c: cdt.y
  73.     $(YACC) -b cdt -p cdtparse_ cdt.y
  74.     $(SED) -e 's/yyparse()/yyparse(struct ClassBase \*cb,struct CParse \*cparse)/g' \
  75.                           -e 's/int yyparse (void);/int yyparse(struct ClassBase \*cb,struct CParse \*cparse);/g' \
  76.                           -e 's/yychar = YYLEX;/yychar = yylex(\&yylval,cb,cparse);/g' \
  77.                           -e 's/yyerror("parse error");/cdtparse_parseerror(cb,cparse);/g' \
  78.                           cdt.tab.c > tmp_sed
  79.     $(MV) tmp_sed cdt.tab.c
  80.  
  81. ##############################################################################
  82. #
  83. # explicit dependencies
  84. #
  85.  
  86. $(OBJDIR)/classinit.ao: $(REVFILE)      # revision dependency
  87.  
  88. $(OBJS): $(HEADER)                      # header dependency
  89.  
  90. ##############################################################################
  91. #
  92. # make the object directory
  93. #
  94.  
  95. $(OBJDIR):
  96.     mkdir $(OBJDIR)
  97.  
  98. ##############################################################################
  99. #
  100. # clean up
  101. #
  102.  
  103. clean:
  104.     $(RM) -R $(OBJDIR)/* *.tab.c
  105.  
  106.  
  107.